// components/L-Picker/l-picker.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 是否显示弹出层
    isShow: {
      type: Boolean,
      value: false,
      observer: 'updateShow'
    },
    // 遮罩背景色
    maskColor: {
      type: String,
      value: "rgba(0, 0, 0, 0.7)"
    },
    // picker-背景色
    background: {
      type: String,
      value: "rgba(255,255,255,1)"
    },
    // 取消按钮文字
    cancelText: {
      type: String,
      value: "取消"
    },
    // 取消文字颜色
    cancelColor: {
      type: String,
      value: "#888888"
    },
    // 确认按钮文字
    confirmText: {
      type: String,
      value: "确认"
    },
    // 确认文字颜色
    confirmColor: {
      type: String,
      value: "#09B66D"
    },
    // 选择器类型
    mode: {
      type: String,
      value: "selector"
    },
    // 数据列
    range: {
      type: Array,
      value: [],
      observer: 'updateRange'
    },
    //  Object Array 时，通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
    rangeKey: {
      type: String,
    },
    // 选中的下标
    value: {
      type: [Number, Array],
      value: 0,
      observer: 'updateIndex'
    },
    // 设置选择器中间选中框的样式
    indicatorStyle: {
      type: String,
    },
    // 设置选择器中间选中框的类名
    indicatorClass: {
      type: String,
    },
    // 设置蒙层的样式
    maskStyle: {
      type: String
    },
    // 设置蒙层的类名
    maskClass: {
      type: String,
    },
  },
  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 实施更新显示状态
    updateShow(newVal) {
      this.setData({
        isShow: newVal
      })
    },
    // 实时更新range
    updateRange(newVal) {
      this.setData({
        range: newVal
      })
    },
    // 实时更新选中
    updateIndex(newVal) {
      console.log('当前选中',newVal);
    },
    // 滚动选中触发函数
    handlePickerChange(e) {
      console.log('当前选中下标',e.detail);
    },
    handleCancel() {
      this.close()
    },
    // 关闭
    close() {
      this.setData({
        isShow: false
      })
    },
    // 滚动处理
    prevent() {},
  },
  lifetimes: {
    ready() {
      console.log('ready周期',this.properties.maskStyle);
    }
  }
})
